package org.apache.catalina.util;

import org.apache.catalina.Lifecycle;

/**
 * Base implementation of the {@link Lifecycle} interface that implements the
 * state transition rules for {@link Lifecycle#start()} and
 * {@link Lifecycle#stop()}
 * 生命周期抽象类（设计模式：模板方法，状态模式（类的行为是基于它的状态改变的）），主要实现了监听器的增删改查，
 * 及定义了生命周期方法的执行结构（比如init、start、stop、destroy等），
 * 具体子类要实现的就是：initInternal、startInternal、stopInternal、destroyInternal等;
 *
 * @author chentudong
 * @date 2024/2/20 19:20
 * @since 1.0
 */
public abstract class LifecycleBase implements Lifecycle{

  /**
   *
   */
  @Override
  public final synchronized void init() {

  }

  /**
   *
   */
  @Override
  public final synchronized void start() {

  }

  /**
   *
   */
  @Override
  public final synchronized void stop() {

  }
}
